From: kfraser@localhost.localdomain Date: Wed, 5 Jul 2006 10:30:12 +0000 (+0100) Subject: [HVM] Fix the kernel build failure issue on HVM SMP guests which X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15896 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=9d5a2ec0a4a5c5cc4c5aa805dc8fdd77bb3faf03;p=xen.git [HVM] Fix the kernel build failure issue on HVM SMP guests which are using 2M PSE pages. Now we can do kernel build on: 1) RHEL4 IA32 SMP guest on PAE host. 2) RHEL4 IA32 SMP guest on IA32e host. 3) IA32e SMP guest on IA32e host. Signed-off-by: Xiaohui Xin Signed-off-by: Xin Li --- diff --git a/xen/arch/x86/shadow.c b/xen/arch/x86/shadow.c index 29895195fd..e74bde52d9 100644 --- a/xen/arch/x86/shadow.c +++ b/xen/arch/x86/shadow.c @@ -1726,6 +1726,7 @@ static int resync_all(struct domain *d, u32 stype) { guest_l1_pgentry_t tmp_gl1e = guest_l1e_empty(); validate_pte_change(d, tmp_gl1e, sl1e_p); + unshadow_l1 = 1; continue; } #endif @@ -3676,20 +3677,19 @@ static inline int l2e_rw_fault( put_page_from_l1e(old_sl1e, d); } - l1_p[gpfn - start_gpfn] = sl1e; - if (rw) { /* shadow_mark_va_out_of_sync() need modificatin for 2M pages*/ if ( mfn_is_page_table(mfn) ) shadow_mark_va_out_of_sync_2mp(v, gpfn, mfn, l2e_get_paddr(sl2e) | (sizeof(l1_pgentry_t) * (gpfn - start_gpfn))); } + + l1_p[gpfn - start_gpfn] = sl1e; } unmap_domain_page(l1_p); *gl2e_p = gl2e; return 1; - } /*